//package leetcode;
//
//class TreeNode {
//    int val;
//    TreeNode left;
//    TreeNode right;
//
//    public TreeNode(int val) {
//        this.val = val;
//    }
//}
//
//class Solution {
//    public boolean isSubStructure(TreeNode A, TreeNode B) {
//        if (A == null || B == null) {
//            return false;
//        }
//        if (A.val == B.val && (reCur(A.left, B.left)) && reCur(A.right, B.right)){
//            return true;
//        }
//
//        return isSubStructure(A.left,B) || isSubStructure(A.right,B);
//    }
//
//    public boolean reCur(TreeNode root1, TreeNode root2) {
//        if (root2 == null) {
//            return true;
//        }
//        if (root1 == null) {
//            return false;
//        }
//        if (root1.val == root2.val) {
//            return reCur(root1.left, root2.left) && reCur(root1.right, root2.right);
//        } else {
//            return false;
//        }
//
//    }
//}
//
//public class Test2 {
//}
